package com.itheima.exam;

import java.util.Random;
import java.util.Scanner;

/**
 * 案例六：某大V直播时向粉丝榜前5名粉丝发起了抢红包活动，分别有：9,666,188,520,99999五个红包。
 * 请模拟粉丝来抽奖，随机抽取，抽完即止，注意：一个红包只能被抽一次，先抽或后抽哪一个红包是随机的。
 * <p>
 * 分析：
 * 1、创建Random随机数对象，Scanner键盘录入对象
 * 2、遍历数组，提示按任意键开始抽奖
 * 3、随机一个索引，获取数组中该索引处的值(红包)
 * 4、判断是否是0，如果不是就表示中奖了，打印金额，给该索引处设置值0。
 * 5、如果是0，重新抽取一次，直到中奖。
 */
public class Demo06 {

    public static void main(String[] args) {
        int[] arr = {9, 666, 188, 520, 99999};
        //开始抽奖
        redPacket(arr);
    }

    public static void redPacket(int[] arr) {
        //1、创建Random随机数对象，Scanner键盘录入对象
        Random r = new Random();
        Scanner sc = new Scanner(System.in);
        //2、遍历数组，提示按任意键开始抽奖
        for (int i = 0; i < arr.length; ) {
            //提示按任意键开始抽奖
            System.out.println("请按任意键开始抽奖：");
            sc.next();
            //3、随机一个索引，获取数组中该索引处的值(红包)
            int index = r.nextInt(arr.length);
            //获取该索引处的红包，判断是否是0
            if (arr[index] != 0) {
                //4、如果不是就表示中奖了，打印金额，给该索引处设置值0。
                System.out.println("恭喜中奖，中奖金额：" + arr[index]);
                //给该索引处设置值0
                arr[index] = 0;
                //抽中了就下一个人
                i++;
            }/*else{
                //5、如果是0，重新抽取一次，直到中奖。
                i--;
            }*/
        }
    }
}
